package com.freemalll.merchant.service.coopManagement;

import com.baomidou.mybatisplus.extension.service.IService;
import com.freemalll.merchant.domain.dto.MerchantRateDto;
import com.freemalll.merchant.domain.dto.coopManagement.AssetRateDetailEditDto;
import com.freemalll.merchant.domain.dto.coopManagement.AssetRateEditDto;
import com.freemalll.merchant.domain.entity.coopManagement.MerAssetRateManageDetail;

import java.util.List;

/**
 * <p>
 * 资方费率配置明细表 服务类
 * </p>
 *
 * @author songshixiong
 * @since 2025-07-04
 */
public interface MerAssetRateManageDetailService extends IService<MerAssetRateManageDetail> {

    /**
     * 批量插入
     *
     * @param dto
     */
    void batchInsert(AssetRateEditDto dto, String rateId);

    /**
     * 批量更新
     *
     * @param dto
     */
    void batchUpdate(AssetRateEditDto dto);

    /**
     * 按月查询
     *
     * @param rateIdList
     * @return
     */
    List<AssetRateDetailEditDto> listByMonth(List<String> rateIdList);

    /**
     * 按年查询
     *
     * @param rateIdList
     * @return
     */
    List<AssetRateDetailEditDto> listByYear(List<String> rateIdList);

    /**
     * 填充费率明细
     *
     * @param rateDtoList
     */
    void fillInRateDetails(List<MerchantRateDto> rateDtoList);

    /**
     * 根据资方查询费率明细的息费模式
     *
     * @param sourceList
     * @return
     */
    List<MerchantRateDto> selectInterestAndFeeModelBySourceIds(List<String> sourceList);
}
